#ifndef VCLIB_H
#define VCLIB_H

#include <stdio.h>
#include "control.h"
#include "engine.h"
#include "keyboard.h"
#include "main.h"
#include "menu.h"
#include "pcx.h"
#include "render.h"
#include "timer.h"
#include "vga.h"
#include "vc.h"
#include "ricvc.h"
#include "nichgvc.h"
#include "xbigdvc.h"

extern char fade;
extern char cancelfade;
extern char stringbuffer[100];
extern char keepaz;
extern unsigned char storeinv[12];

extern void MapSwitch();
extern void Warp();
extern void AddCharacter();
extern void SoundEffect();
extern void GiveItem();
extern void Text();
extern void AlterFTile();
extern void AlterBTile();
extern void FakeBattle();
extern void PlayMusic();
extern void StopMusic();
extern void HealAll();
extern void AlterParallax();
extern void FadeIn();
extern void FadeOut();
extern void RemoveCharacter();
extern void Banner();
extern void EnforceAnimation();
extern void WaitKeyUp();
extern void DestroyItemProcessChar(unsigned char i, unsigned char c);
extern void DestroyItem();
extern void Prompt();
extern void ChainEvent ();
extern void CallEvent ();
extern void Heal();
extern void EarthQuake();
extern void SaveMenu();
extern void EnableSave();
extern void DisableSave();
extern void ReviveChar();
extern void RestoreMP();
extern void Redraw();
extern void SText();
extern void DisableMenu();
extern void EnableMenu();
extern void Wait();
extern void SetFace();
extern void MapPaletteGradient();
extern void BoxFadeOut();
extern void BoxFadeIn();
extern void GiveGP();
extern void TakeGP();
extern void ChangeZone();
extern void GetItem();
extern void ForceEquip();
extern void GiveXP();
extern void Shop();
extern void PaletteMorph();
extern int CharPos(char p1);
extern void ChangeCHR();
extern void VCPutPCX();
extern void HookTimer();
extern void HookRetrace();
extern void VCLoadPCX();
extern void VCcopysprite(int x, int y, int width, int height, unsigned char *spr);
extern void VCtcopysprite(int x, int y, int width, int height, unsigned char *spr);
extern void VCBlitImage();
extern void VCClear();
extern void VChline(int x, int y, int x2, char c);
extern void VCClearRegion();
extern void VCText();
extern void VCTBlitImage();
extern void Exit();
extern void Quit();
extern void VCCenterText();
extern void ResetTimer();
extern void VCBlitTile();
extern void Sys_ClearScreen();
extern void Sys_DisplayPCX();
extern void OldStartupMenu();
extern void NewGame();
extern void Delay();
extern void GetNextMove();
extern void moveparty();
extern void MoveParty();
extern void PartyMove();
extern void EntityMove();
extern void AutoOn();
extern void AutoOff();
extern void EntityMoveScript();
extern void VCTextNum();
extern void VCLoadRaw();
extern void ExecLibFunc(unsigned char func);
extern int ReadVar0(int var);
extern void WriteVar0(int var,int value);
extern int ReadVar1(int var, int arg1);
extern void WriteVar1(int var, int arg1, int value);
extern int ReadVar2(int var, int arg1, int arg2);
extern void WriteVar2(int var, int arg1, int arg2, int value);

#endif
